Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

deXLoader.hpp

Go to the documentation of this file.
00001 ///////////////////////////////////////////////////////////////////////////////
00002 /// @file deXLoader.hpp
00003 ///
00004 /// @brief DirectX X file loading for meshes
00005 ///
00006 /// @author Assassin
00007 ///
00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
00009 /// contents of this file is subject to the Destiny3D Member License which
00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
00011 ///
00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
00014 /// for any particular purpose.
00015 ///
00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
00017 ///
00018 /// <hr>
00019 ///                                 Change History
00020 /// <hr>
00021 ///
00022 /// @date Mar 2002
00023 /// @author Assassin
00024 /// @remarks Creation
00025 ///
00026 ///////////////////////////////////////////////////////////////////////////////
00027 
00028 #ifndef DEXLOADER_HPP
00029 #define DEXLOADER_HPP
00030 
00031 #include <d3dx8.h>
00032 #include <d3d8types.h>
00033 #include "deGlobalTypes.hpp"
00034 #include "deRenderStates.hpp"
00035 
00036 struct deXTexture
00037 {
00038 char Texture_Name[252];
00039 IdeRenderTexture * RenderTexture;
00040 };
00041 
00042 struct deXMaterial
00043 {
00044 D3DMATERIAL8 Mat8;
00045 DWORD NumIndices;
00046 long TextureIndex;
00047 IdeRenderMaterial* deMat;
00048 };
00049 
00050 struct deXTexCoord
00051 {
00052     float u;
00053     float v;
00054 };
00055 
00056 class deXMesh
00057 {
00058 public:
00059     DWORD NumVerts;
00060     DWORD NumIndices;
00061     D3DVECTOR * VertList;
00062     D3DVECTOR * NormList;
00063     deXTexCoord * CoordList;
00064 
00065     deXMesh * Child;
00066     deXMesh * Next;
00067     D3DMATRIX Matrix;
00068 
00069     DWORD NumMaterials;
00070     deXMaterial * MaterialList;
00071     WORD *Indices;
00072 
00073     deBoolean HasVerts;
00074     deBoolean HasNorms;
00075     deBoolean HasCoords;
00076 
00077     deXMesh ();
00078     ~deXMesh ();
00079     void AddChild(deXMesh *pChildObject);
00080     void AddNext (deXMesh *pChildObject);
00081     void GenerateNormals();
00082 };
00083 
00084 extern "C" deXMesh * deXLoader_LoadX(char * filename);
00085 
00086 #endif
00087 

Generated on Mon Sep 12 19:58:41 2005 for Destiny3D by doxygen1.3-rc3